package org.fh.service.fhoa;

import org.fh.dto.CustomerCompanyDTO;
import org.fh.dto.CustomerVisitDTO;
import org.fh.dto.NewLogDayDTO;
import org.fh.dto.NewLogDetailDTO;
import org.fh.entity.Page;
import org.fh.entity.PageData;

import java.util.List;

public interface INewLogDayService {

    /**
     * 新增
     *
     * @param pd
     * @throws Exception
     */
    public void save(PageData pd) throws Exception;

    /**
     * 删除
     *
     * @param pd
     * @throws Exception
     */
    public void delete(PageData pd) throws Exception;

    /**
     * 修改
     *
     * @param pd
     * @throws Exception
     */
    public void edit(PageData pd) throws Exception;

    /**
     * 列表
     *
     * @param page
     * @throws Exception
     */
    public List<PageData> list(Page page) throws Exception;

    /**
     * 列表(全部)
     *
     * @param pd
     * @throws Exception
     */
    public List<PageData> listAll(PageData pd) throws Exception;

    /**
     * 通过id获取数据
     *
     * @param pd
     * @throws Exception
     */
    public PageData findById(PageData pd) throws Exception;

    /**
     * 批量删除
     *
     * @param ArrayDATA_IDS
     * @throws Exception
     */
    public void deleteAll(String[] ArrayDATA_IDS) throws Exception;

    /**
     * 通过用户名查询姓名、总客户量和月客户量
     *
     * @param pd 包含用户名的 PageData 对象
     * @return 包含统计结果的 PageData 列表
     * @throws Exception 异常
     */
    List<PageData> findCustomerStats(PageData pd) throws Exception;

    /**
     * 通过客户姓名查询拜访过客户姓名的所有记录内容
     *
     * @param pd
     * @return
     * @throws Exception
     */
    List<CustomerVisitDTO> findCustomerVisitRecords(PageData pd) throws Exception;

    ;


    /**
     * 查询顾客姓名
     *
     * @return
     */
    List<NewLogDayDTO> selectCustomerName();


    /**
     * 查询公司
     *
     * @return
     */
    List<CustomerCompanyDTO> selectCompany();


    /**
     * 日报报表
     */
    List<NewLogDetailDTO> selectNewLogDetail(String USERNAME);
}
